#ifndef __MODELEDITOR_CAMERA_H
#define __MODELEDITOR_CAMERA_H

#include "ModelEditorConfig.h"

class CModelEditorCamera : public OyMovementController 
{
   public:
   	CModelEditorCamera(void);
   	virtual ~CModelEditorCamera(void);

    virtual void Update(float fElapsedTime);




    void SetRotationSpeedX(float f) { m_fPitchSpeed = f; }
    void SetRotationSpeedY(float f) { m_fYawSpeed   = f; }
    void AddZoom(float a)			{ m_fZoom		+= a; }
    void SetPanX(float a)			{ m_fPanX		= a; }
    void SetPanY(float a)			{ m_fPanY		= a; }

    // set attributes directly (avoid this except for initialization)
    void SetRotation(float rx, float ry, float rz);
    void SetPos(float x, float y, float z)   { m_vcPos.x = x; m_vcPos.y = y; m_vcPos.z = z; }
	void SetLookAt(float x, float y, float z) { m_vLookAt.Set(x,y,z); }

private:
    float		m_fZoom;
    float		m_fPanX;
	float		m_fPanY;
	OyVector4D	m_vLookAt;

    void RecalcAxes(void);
};
#endif